package com.biblioteca.view;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.PreparedStatement;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;


@SuppressWarnings("serial")
public class FrameAdicionaObra extends JFrame{

	private FramePrincipal fp ;
	public JTextField tituloField;
	public JTextField autorField;
	public JTextField quantidadeField;
	public JComboBox categoriaBox ;
	public JButton btnOk ;
	
	private PreparedStatement pst ;
	
	FrameAdicionaObra(FramePrincipal framePrincipal) {
		fp = framePrincipal ;
	
		setSize(800/2,600/2) ;
		setResizable(false) ;
		setLocationRelativeTo(fp) ;
		setTitle("Adicionar Obra") ;
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		getContentPane().setLayout(null);
		
		JPanel panel = new JPanel();
		panel.setBounds(0, 0, 394, 272);
		getContentPane().add(panel);
		panel.setLayout(null);
		
		JLabel tituloLabel = new JLabel("T\u00EDtulo");
		tituloLabel.setBounds(41, 23, 71, 14);
		panel.add(tituloLabel);
		
		tituloField = new JTextField();
		tituloField.setBounds(112, 20, 220, 20);
		panel.add(tituloField);
		tituloField.setColumns(10);
		
		autorField = new JTextField();
		autorField.setBounds(112, 63, 220, 20);
		panel.add(autorField);
		autorField.setColumns(10);
		
		JLabel autorLabel = new JLabel("Autor");
		autorLabel.setBounds(41, 66, 71, 14);
		panel.add(autorLabel);
		
		categoriaBox = new JComboBox();
		categoriaBox.setModel(new DefaultComboBoxModel(new String[] {"Livro", "Peri\u00F3dico", "Enciclopedia", "M\u00EDdia", "Dicion\u00E1rio"}));
		categoriaBox.setBounds(112, 108, 220, 20);
		panel.add(categoriaBox);
		
		quantidadeField = new JTextField();
		quantidadeField.setBounds(112, 151, 220, 20);
		panel.add(quantidadeField);
		quantidadeField.setColumns(10);
		
		JLabel lblQuantidade = new JLabel("Quantidade");
		lblQuantidade.setBounds(27, 154, 85, 14);
		panel.add(lblQuantidade);
		
		btnOk = new JButton("OK");
		btnOk.setBounds(214, 197, 89, 23);
		panel.add(btnOk);
		
		setVisible(true) ;
		
		btnOk.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				String t,a,c ;
				int q ;
				t = tituloField.getText().trim();
				if (!t.equals("")) {
					a = autorField.getText().trim();
					if (!a.equals("")) {
						c = categoriaBox.getSelectedItem().toString() ;
						String qTemp = quantidadeField.getText().trim() ;
						try {
							q = Integer.parseInt(qTemp);
							String sql = "INSERT INTO Obra VALUES (null,?,?,?,?,0,0)";
							pst = fp.conn.prepareStatement(sql) ;
							pst.setString(1, t);
							pst.setString(2, a);
							pst.setString(3, c);
							pst.setInt(4,q);
							pst.execute();
							pst.close();
							fp.obraModel.linhaAdicionada();
							dispose();
						} catch (Exception ex) {
							ex.printStackTrace() ;
							JOptionPane.showMessageDialog(null, "Digite um valor v�lido no campo quantidade");
						}
					} else JOptionPane.showMessageDialog(null, "Digite um valor v�lido no campo autor");
				} else JOptionPane.showMessageDialog(null, "Digite um valor v�lido no campo titulo");
			}
		});
	
	}
}
